﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections.ObjectModel;

namespace Toon.Models.Catalogs
{
	public class AttributeDefinition
	{
		readonly string m_AttributeName;
		readonly ReadOnlyCollection<string> m_Skills;

		/// <summary>
		/// Initializes a new instance of the AttributeDefinition class.
		/// </summary>
		/// <param name="attributeName"></param>
		/// <param name="skills"></param>
		public AttributeDefinition(string attributeName, IList<string> skills)
		{
			if (String.IsNullOrEmpty(attributeName))
				throw new ArgumentException("attributeName is null or empty.", "attributeName");
			if (skills == null)
				throw new ArgumentNullException("skills", "skills is null.");

			m_AttributeName = attributeName;
			m_Skills = new ReadOnlyCollection<string>(skills);
		}

		public string AttributeName
		{
			get { return m_AttributeName; }
		}

		public ReadOnlyCollection<string> Skills
		{
			get { return m_Skills; }
		}
	}
}
